<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 数组 -> 一般用于存放一组相同类型的数组

    // 如何创建数组
    // 1. 字面量创建 -> 快捷创建
    // var arr = [1,2,3,4,5,6,7,8,9]

    // 2. 构造函数创建
    // var arr = new Array(1,2,3,4,5,6,7,8,9);

    // 注意: new Array()如果只接收一个参数,且为number类型(正整数) -> 会生成对应对应长度的数组(元素的位置会被预留出来)
    // var arr = new Array(10); // [,,,,,,,,,]
    // console.log(arr);

    // 数组的特性:
    // 1. 有length属性 (表示长度 -> 数组中成员(元素)的个数)

    // 2. 可以通过下标取值和赋值  => 下标的最大值 = 数组.length - 1
    //    a. 数组取值时,取一个不存在的下标 => 默认返回undefined
    //    b. 数组赋值时,赋一个不存在的下标 => 新增该元素到数组中


    // 3. 可以循环遍历
    //    for  for...in(遍历数组返回数组的下标)   for...of


    // var arr = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9); // 下标范围:0-8
    // console.log(arr[100]);

    // arr[100] = 100; // (9-99)
    // console.log(arr);  // [1, 2, 3, 4, 5, 6, 7, 8, 9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100]

    //  for...in(遍历数组返回数组的下标) 
    // 1. 数组的下标其实是字符串类型  arr["0"] -> arr[0]
    // 2. for...in遍历数组时 会跳过空余位置
    // var list = [1, 4, 7, 2, , , , , , , , , 5, 8, 3, 6, 9];
    // console.log(list);

    // for (var i in list) {
    //     console.log(i);
    // }

    //  for...of(遍历数组返回数组的值) 
    var list = [1, 4, 7, 2, , , , , , , , , , 5, 8, 3, 6, 9];
    console.log(list);

    for (var item of list) {
        console.log(item);
    }






</script>

</html>